#ifndef MUSICINFO_H
#define MUSICINFO_H

#include <QString>
#include <QUrl>
#include <QUuid>
#include <QMediaPlayer>
#include <QCoreApplication>

class MusicInfo
{
public:
    MusicInfo();
    MusicInfo(const QUrl& url);

    void setIsLike(bool isLike);
    void setIsHistory(bool isHistory);
    void setMusicName(const QString& musicName);
    void setSingerName(const QString& singerName);
    void setAlbumName(const QString& albumName);
    void setDuration(const qint64 duration);
    void setMusicUrl(const QUrl& url);
    void setMusicId(const QString& musicId);

    //获取信息
    bool getIsLike();
    bool getIsHistory();
    QString getMusicName();
    QString getSingerName();
    QString getAlbumName();
    qint64 getDuration();
    QUrl getMusicUrl();
    QString getMusicId();
    QString getLrcFilePath();                          //获取歌词的本地磁盘路径
private:
    bool isLike;    //标记音乐是否为我喜欢
    bool isHistory; //标记音乐是否为播放过
    //音乐基本信息：歌曲名称，歌手名称，专辑名称，总时长
    QString musicName;
    QString singerName;
    QString albumName;
    qint64 duration;

    //歌曲ID
    QString musicId;
    QUrl musicUrl;      //音乐所在磁盘的位置
    //用来解析歌曲的数据
    void praseMediaMetaData();
};

#endif // MUSICINFO_H
